package com.bbva.gptf.back.dominio;

import java.math.BigDecimal;
import java.util.List;

import org.springframework.roo.addon.dbre.RooDbManaged;
import org.springframework.roo.addon.entity.RooEntity;
import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.tostring.RooToString;

@RooJavaBean
@RooToString
@RooEntity(identifierType = Tgpt020ConfiVistaPK.class, versionField = "", table = "TGPT020_CONFI_VISTA", schema = "DBSGPT")
@RooDbManaged(automaticallyDelete = true)
public class Tgpt020ConfiVista {

	public static Tgpt020ConfiVista findConfiVista(BigDecimal cdVista,
			BigDecimal cdGpoColumna, BigDecimal cdColumna, BigDecimal cdUsuario) {
		if (cdVista == null || cdGpoColumna == null || cdColumna == null
				|| cdUsuario == null) {
			return null;
		}

		return entityManager()
				.createQuery(
						"FROM Tgpt020ConfiVista confiVista "
								+ "WHERE confiVista.id.cdUsuario = :cdUsuario "
								+ "AND confiVista.id.cdVista = :cdVista "
								+ "AND confiVista.id.cdGpoColumna = :cdGpoColumna "
								+ "AND confiVista.id.cdColumna = :cdColumna",
						Tgpt020ConfiVista.class)

				.setParameter("cdVista", cdVista)
				.setParameter("cdGpoColumna", cdGpoColumna)
				.setParameter("cdColumna", cdColumna)
				.setParameter("cdUsuario", cdUsuario).getSingleResult();
	}

	public static List<Tgpt020ConfiVista> obtenerConfiguracionVista(
			BigDecimal idGestor, BigDecimal idVista) {
		if (idGestor == null || idVista == null) {
			return null;
		}
		return entityManager()
				.createQuery(
						"FROM Tgpt020ConfiVista confiVista "
								+ "WHERE confiVista.id.cdUsuario = :cdUsuario "
								+ "AND confiVista.id.cdVista = :cdVista",
								
						Tgpt020ConfiVista.class)
				.setParameter("cdUsuario", idGestor)
				.setParameter("cdVista", idVista).getResultList();
	}
}
